import redis,json
'''
json.loads()将JSON格式的字符串解析成Python对象（如字典或列表）
json.dumps()将Python对象（如字典或列表）转换成JSON格式的字符串
json.load()从文件中读取JSON格式的数据，并解析成Python对象
json.dump()将Python对象转换成JSON格式的数据，并写入文件
json.JSONDecoder()创建一个JSON解码器对象，用于解析JSON字符串（通常直接使用json.loads()更常见）
json.JSONEncoder()创建一个JSON编码器对象，用于将Python对象转换成JSON字符串（通常直接使用json.dumps()更常见）
json.JSONDecodeError异常类，用于处理JSON解码时发生的错误
'''
from config.redis import REDIS_POOL
from fastapi import APIRouter
from utils.result import *
from models.user_model import User,UserInfo
from config.db import db
userApi = APIRouter()


@userApi.post("/login",tags=['登录'])
async def login(id:  int):
    return id

@userApi.get("/",tags=['用户列表'])
def users(limit:int=10):
    rds = redis.Redis(connection_pool=REDIS_POOL)
    users = rds.get('user')
    if users:
        return success(json.loads(users),msg='用户列表')
    sql = "select * from for_user limit %s"
    result =  db(sql,[limit,])
    if not result:
        return error()
    rds.setex("user",15,json.dumps(result))
    return success(result)
